/**********************************
 * class Images
 * 命令: #<sysId>/<clsId>/add|modify|remove|listJson|detailJson
 */
(function(){


/**
 * 构造函数
 */
// 数据类型说明:                     
var Images = window.Images = function( procFile,selfOps,parentOps,childOps )
{
    // 驱动属性
    this.procFile = procFile;
    
    this.selfOps = selfOps;
    this.parentOps= parentOps;      // 父模块标识,唯一, 用于导航功能->返回上一层
    this.childOps = childOps;       // 子模块标识,可多个,用户与导航功能->进入子模块
		
    this.UIL = new ImagesUIL(); 
}


Images.fn = Images.prototype =
{
    /**
     * 添加图像界面
     */
    add : function(cmd,dispObj)
    {
        var page = this.UIL.add();
        
        // 分类选择框
        var parentCmd = new CmdBuilder(cmd.subsys,this.parentOps[0],"list");
        if( 0 < cmd.args(this.pl+3) ){
            Categories.SelectOption( this.procFile,parentCmd,page.find('.selectOptions'), cmd.args(this.pl+3) );
        }else{
            Categories.SelectOptions( this.procFile,parentCmd,page.find('.selectOptions'), 0, 0 );
        }

        dispObj.append( page );   // 添加到可视区域

        // 监听提交
        //this.submit_add( page.find('.frm') );
    },
    submit_add : function( frm )
    {
        frm.ajaxSubmit();
    },


    /**
     * 页面, subsys/module/remove
     */
    remove : function(cmd,dispObj)
    {
        my_history.go(-1);    //这里不记录历史
				
        // 读取数据
        var _ = this;
        //$.getJSON("{0}?cmd={1}&id={2}".format(_.procFile,cmd.module+"/detail",cmd.args(this.l+3)),function( dat ){

            //var page = _.UIL.remove(dat);
            var page = _.UIL.remove();
            var dispObj = App.ui.popupWrap.clone(true);
            App.ui.content.append( dispObj.append(page) );
            page.find(".cancel").click( function(){dispObj.remove();} );   //绑定取消按钮

            var delObj = App.ui.content.find( "."+cmd.subsys+cmd.args(this.l+3) );

            var frm = page.find(".frm");
            frm[0].action = _.procFile.concat("?cmd=",cmd.service,"&id=",cmd.args(this.l+3) );
            _.submit_remove( frm,dispObj,delObj );      //绑定提交事件
        //});

    },
    submit_remove : function( frm,dispObj,delObj )
    {
    	
        //frm.ajaxSubmit('json');
        var _ = this;
        frm.submit( function(){
            $.getJSON( this.action, function( json ){

                if( json.error ){
                    dat = json.error;
                }else{
                    dat = json.success;
                    delObj.remove();
                }

                App.ui.popupAlert(dat,dispObj);

            });
            return false;
        });
    },
    
    
    /**
     * 修改文章页面,news/"+this.clsId+"/modify
     */
    modify : function(cmd,dispObj)
    {
        // 读取数据
        var _ = this;
        $.getJSON( _.procFile.concat("?view=",cmd["view"],"&op=",_.selfOps["details"],"&id="+ cmd["id"] ), function( json ){
							var page = _.UIL.modify(json);
        			dispObj.append( page );
        			_.submit_modify( page.find(".frm") );
        });
    },
    submit_modify : function( frm )
    {
        frm.ajaxSubmit();
    },


    /**
     * 图像详细页面
     */
    get_details : function( cmd,dispObj )
    {
        // 读取数据
        var _ = this;
        $.getJSON( _.procFile.concat( "?",cmd.toString() ), function( json ){
						var page = _.UIL.get_details(json);
						dispObj.append( page );
        });
        
    },
    
    
    /**
     * 图像列表页面
     */
    get_list : function( cmd,dispObj )
    {
        // 读取数据
        var _ = this;
        $.getJSON( _.procFile.concat( "?",cmd.toString() ), function( json ){
						var page = _.UIL.get_list(json,cmd,_.selfOps,_.childOps);
						dispObj.append( page );
        });
        
    }
    

}//class Images.fn


Images.ui = {
    toolbarInList : function(cmd)
    {
        return '<div> \
                  <a class="btnAdd" href="#{0}/add/{1}" title="添加图片">添加图片</a> \
                  <a href="#{0}/" title="全选"></a> \
                  <a href="#{0}/" title="生成静态页面"></a> \
                  <a href="#{0}/" title="删除"></a> \
                </div> \
                <div class="divider"></div> '.format(cmd.module,cmd.params);
    },

    toolbarInDetail : function(cmd)
    {
        return '<div>\
                    <a class="btnModify" href="#{0}/modify/{1}" title="修改"></a>\
                    <a class="btnRemove" href="#{0}/remove/{1}" title="删除"></a>\
                </div>\
                <div class="divider"></div>'.format(cmd.module,cmd.params);
    },

    toolbarInModify : function(cmd)
    {
        return '<a class="btnDetail" href="#{0}/detail/{1}" title="阅读详细">阅读</a>\
                <div class="divider"></div>'.format(cmd.module,cmd.params);
    }
};

})();
